`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 11/12/2021 05:04:32 PM
// Design Name: 
// Module Name: configManager
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 用于控制时间设定的模块
//  
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module configManager(
    input clk,
    input rst_n,
    input en,
    input key_mode,
    output reg en_work,
    output reg en_rest
    );

    reg mode; // 0为工作时间设置，1为休息时间设置
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n) begin
            en_work <= 1;
            en_rest <= 0;
        end
        else if(mode==0 && en) begin
            en_work <= 1;
            en_rest <= 0;
        end
        else if(mode==1 && en) begin
            en_work <= 0;
            en_rest <= 1;
        end
        else if(!en) begin
            en_work <= 0;
            en_rest <= 0;
        end
    end
    always @(posedge clk or negedge rst_n) begin
        if (!rst_n) begin
            mode <= 0;
        end
        else if (key_mode) begin
            mode = ~mode;
        end
    end

endmodule
